//计算x的平方根；
//实例1：
//输入：4
//输出：2
//实例2：
//输入：8
//输出：2
//解释：8 的算术平⽅根是 2.82842... , 由于返回类型是整数，⼩数部分将被舍去。
public class Nm2 {
    //解题思路：通过二分法进行；
    public static int fun(int x){
        //1，进行相关变量的设置；
        int left=1;
        int right=x;
        //int mid=left+(right-left+1)/2;
        //进行细节问题的处理：
        if(x<1){
            return 0;
        }
        //2，进行二分查找；
        while(left<right){
            int mid=left+(right-left+1)/2;
            if(mid*mid<=x){
                left=mid;
            }else{
                right=mid-1;
            }
        }
        return left;
    }
    public static void main(String[] args){
        int x=4;
        int ret=fun(x);
        System.out.println(ret);
    }
}
//错误点：
//1.int mid=left+(right-left+1)/2;的位置
//2 mid*mid<=x；中的等于号不要丢；